import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// 跨域代理配置项（可根据实际需求修改）
const proxyConfig = {
  // 后端服务地址（例如：http://localhost:8080 或 http://api.example.com）
  target: 'http://localhost:8082',
  // 需要代理的接口前缀（例如：所有以 /api 开头的请求都会被代理）
  apiPrefix: '/api',
  // 是否允许跨域携带Cookie（如果后端需要认证Cookie，设为true）
  withCredentials: true,
  // 替换请求头中的Origin（解决部分后端的Origin校验）
  changeOrigin: true
}
export default defineConfig({
  plugins: [
    vue(),
    vueDevTools(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
      '@a': fileURLToPath(new URL('./src/api', import.meta.url)),
      '@c': fileURLToPath(new URL('./src/components', import.meta.url)),
      '@u': fileURLToPath(new URL('./src/utils', import.meta.url)),
      '@v': fileURLToPath(new URL('./src/views', import.meta.url))
    },
  },
  server: {
    // 配置代理
    proxy: {
      [proxyConfig.apiPrefix]: {
        target: proxyConfig.target,
        // withCredentials: proxyConfig.withCredentials,
        changeOrigin: proxyConfig.changeOrigin,
        rewrite: (path) => path.replace(/^\/api/,'')
      }
    }
  }
})
